Zurück in Elementare ProgrammentwicklungWeiter in Elementare ProgrammentwicklungEntscheidung, Vergleich und Zuweisung Zusammenfassung ?

Jede Programmiersprache enthält mindestens die folgenden Elemente:

Entscheidung

Das folgende Sprichwort enthält eine Entscheidung, die immer gilt:

"Kräht der Hahn auf dem Mist, so ändert sich das Wetter oder es bleibt, wie es ist".

In der Syntax von VBA lautet das Sprichwort:

If Hahn kräht auf dem Mist Then
    Wetter ändert sich
Else
    Wetter bleibt, wie es ist
End If

Wenn die Bedingung zwischen If und Then zutrifft, dann wählt das Programm den Then-Zweig, andernfalls führt es den Else-Zweig aus. Nach End If fährt das Programm mit dem nächsten Befehl nach End If weiter:

If <Bedingung> Then
    <Dann-Anweisungen>
Else
    <Sonst-Anweisungen>
End If
<nächster Befehl nach If>

Der Else-Zweig kann weggelassen werden, falls das Programm nach der erfolglosen Prüfung der Auswahlbedingung mit dem nächsten Befehl weiterfahren soll, statt den Else-Zweig auszuführen. End If kann weggelassen werden, falls <Dann-Anweisungen> (und allenfalls <Sonst-Anweisungen>) aus einer einzigen Anweisung besteht und die ganze Entscheidungsanweisung auf einer Programmzeile Platz findet. Die folgenden Beispiele bedeuten beide dasselbe, ihre Syntax ist aber verschieden:

If Ausleihehäufigkeit(i) > Maximum Then
  Maximum = Ausleihehäufigkeit(i)
End If
If Ausleihehäufigkeit(i) > Maximum Then Maximum = Ausleihehäufigkeit(i)

Entscheidung und Wiederholung

Sowohl die Entscheidungs- als auch die Wiederholungsanweisung prüfen eine Bedingung, bevor sie den Then- oder Else-Zweig wählen bzw. die Anweisungen in der Schleife wiederholen. Die Wiederholungsanweisung muss die Variablen der Wiederholungsbedingung in jedem Durchgang ändern, damit die Wiederholung abbricht. Andernfalls kommt es zu einer Endlosschleife: In der folgenden Variante unseres Summenprogramms entfernt sich zum Beispiel die Wiederholungsvariable Zahl mit jedem Durchgang weiter von der Endbedingung <= 1000 und führt deshalb zu einer Endlosschleife:

Zahl = 1
Summe = 0
Do While Zahl <= 1000
  Summe = Summe + Zahl
  Zahl = Zahl - 1 				‘ Zählfehler!
Loop

Vergleich und Zuweisung

Die Bedingung einer Entscheidung oder Wiederholung enthält oft Vergleichsoperatoren (=, <, >, <=, >= oder <>):

If Name = “Fridolin” Then
...
Do While Name = “Fridolin”
...

Leider verwenden viele Programmiersprachen das Symbol = nicht nur für Vergleiche, sondern auch für eine Zuweisung:

Name = “Fridolin”

Der Vergleich lässt die durch = verbundenen Operanden unverändert (zum Beispiel in If Name = “Fridolin" Then ...). Die Zuweisung ändert hingegen den Inhalt der linken Seite.


WENN-Funktion in Excel